package com.vhans.db.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vhans.db.model.dto.ConditionDTO;
import com.vhans.db.model.vo.request.*;
import com.vhans.core.domain.CRequest;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 好友请求Mapper接口
 *
 * @author vhans
 * @date 2023-05-21
 */
@Repository
public interface CRequestMapper extends BaseMapper<CRequest> {

    /**
     * 查询好友请求列表
     *
     * @param condition 查询条件
     * @return 好友请求集合
     */
    List<RequestVO> selectRequestVOList(@Param("condition") ConditionDTO condition);

    /**
     * 查询用户的好友请求列表
     *
     * @param userId 查询条件
     * @return 好友请求集合
     */
    List<RequestVO> selectUserRequestVOList(@Param("userId") Integer userId);

    /**
     * 查询我自己的请求列表
     *
     * @param userId 查询条件
     * @return 好友请求集合
     */
    List<RequestVO> selectIRequestVOList(@Param("userId") Integer userId);

    /**
     * 通过主键查询好友请求信息
     *
     * @param id 好友请求ID
     * @return 结果
     */
     RequestInfoVO selectRequestInfoById(Integer id);

}
